﻿using System;
using System.Collections.Generic;
using System.Collections; 
using System.Linq;
using System.Text;
using CRUD.InterfaceDAO;
using CapaNegocios;
using GestionadorBaseDatos;

namespace CapaGestion
{
    /// <summary>
    /// Gestiona las reglas de negocio a usar en los mantenimientos de usuarios
    /// </summary>
    public class GestionarMantenimientoUsuario: IGestionMantenimientoUsuario
    {
        private IDaoMantenimientoUsuario daoMantenimientoUsuario;
        private IDaoUsuario daoUsuario;
        public IDaoMantenimientoUsuario DAOMantenimientoUsuario()
        {
            return daoMantenimientoUsuario;
        }

        /// <summary>
        /// Metodo que permite insertar un nuevo mantenimiento de un usuario.
        /// </summary>
        /// <param name="usuarioMantenimiento">
        /// Este parametro es de tipo Mantenimiento Usuario.
        /// </param>
        public void InsertarMantenimientoUsuario(MantenimientoUsuario usuarioMantenimiento)
        {

             daoMantenimientoUsuario.Insert(usuarioMantenimiento);
        }

        /// <summary>
        /// Metodo que permite obtener todos los mantenimientos hechos por un usuario en especifico.
        /// </summary>
        /// <param name="usuario">
        /// Este parametro es de tipo Usuario. 
        /// Representa al usuario que ha hecho todos los mantenimientos que queremos obtener
        /// </param>
        /// <returns>
        /// Retorna una coleccion IList que contiene objetos de tipo MantenimientoUsuario.
        /// </returns>
        public IList ObtenerMantenimientosUsuarioPorUsuario(Usuario usuario)
        {
            return daoMantenimientoUsuario.GetMantenimientosUsuarioByUsuario(usuario);

        }
    }
}
